package org.dromara.system.utils;

import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Base64;
import java.util.HashMap;
import java.util.Map;

public class ConversionUtils {
    private static final Logger log = LoggerFactory.getLogger(ConversionUtils.class);

    /**
     * 生成短链接
     *
     * @param longUrl 长链接
     * @param urlLength 短链接长度
     * @return 短链接
     */
    public static String generateShortCode(String longUrl, int urlLength) {
        // 如果短链接长度小于 4，则设置为 8
        if (urlLength < 4) {
            urlLength = 8;
        }
        // 创建一个可变字符串对象，用于存储短链接
        StringBuilder sb = new StringBuilder(urlLength);
        try {
            // 将长链接进行 Base64 编码，并使用 MD5 算法进行哈希处理
            String base64Encoded = Base64.getEncoder().encodeToString(MessageDigest.getInstance("MD5").digest(longUrl.getBytes()));
            // 初始化已处理字符长度
            int nLen = 0;
            // 遍历 Base64 编码后的字符串
            for (int i = 0; i < base64Encoded.length(); i++) {
                // 获取当前字符
                char c = base64Encoded.charAt(i);
                // 如果当前字符不是 '/' 或 '+'，则将其添加到短链接中
                if (!(c == '/' || c == '+')) {
                    sb.append(c);
                    // 增加已处理字符长度
                    nLen++;
                }
                // 如果已处理字符长度达到指定的短链接长度，则停止处理
                if (nLen == urlLength) {
                    break;
                }
            }
        } catch (NoSuchAlgorithmException e) {
            // 打印异常堆栈跟踪
            e.printStackTrace();
        }
        // 返回生成的短链接
        return sb.toString();
    }

    /**
     * 主函数，用于测试生成短链接功能
     *
     * @param args 命令行参数
     */
    public static void main(String[] args) {
        String str = "[{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"斯瓦尔巴群岛和扬马延岛\",\"country_code\":\"SJ\",\"country_name\":\"Svalbard & Jan Mayen\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"荷兰加勒比区\",\"country_code\":\"BQ\",\"country_name\":\"Caribbean Netherlands\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"蒙塞拉特岛\",\"country_code\":\"MS\",\"country_name\":\"Montserrat\"},{\"continent_cname\":\"非洲 \",\"continent_name\":\"AF\",\"country_cname\":\"西撒哈拉\",\"country_code\":\"EH\",\"country_name\":\"Western Sahara\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"不丹\",\"country_code\":\"BT\",\"country_name\":\"Bhutan\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"东帝汶\",\"country_code\":\"TL\",\"country_name\":\"Timor-Leste (East Timor)\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"中国\",\"country_code\":\"CN\",\"country_name\":\"China\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"乌兹别克斯坦\",\"country_code\":\"UZ\",\"country_name\":\"Uzbekistan\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"也门\",\"country_code\":\"YE\",\"country_name\":\"Yemen\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"亚美尼亚\",\"country_code\":\"AM\",\"country_name\":\"Armenia\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"以色列\",\"country_code\":\"IL\",\"country_name\":\"Israel\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"伊拉克\",\"country_code\":\"IQ\",\"country_name\":\"Iraq\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"伊朗\",\"country_code\":\"IR\",\"country_name\":\"Iran\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"卡塔尔\",\"country_code\":\"QA\",\"country_name\":\"Qatar\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"印尼\",\"country_code\":\"ID\",\"country_name\":\"Indonesia\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"印度\",\"country_code\":\"IN\",\"country_name\":\"India\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"叙利亚\",\"country_code\":\"SY\",\"country_name\":\"Syria\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"中国台湾\",\"country_code\":\"TW\",\"country_name\":\"Taiwan\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"吉尔吉斯斯坦\",\"country_code\":\"KG\",\"country_name\":\"Kyrgyzstan\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"哈萨克斯坦\",\"country_code\":\"KZ\",\"country_name\":\"Kazakhstan\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"土库曼斯坦\",\"country_code\":\"TM\",\"country_name\":\"Turkmenistan\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"土耳其\",\"country_code\":\"TR\",\"country_name\":\"Turkey\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"圣诞岛\",\"country_code\":\"CX\",\"country_name\":\"Christmas Island\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"塔吉克斯坦\",\"country_code\":\"TJ\",\"country_name\":\"Tajikistan\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"塞浦路斯\",\"country_code\":\"CY\",\"country_name\":\"Cyprus\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"孟加拉\",\"country_code\":\"BD\",\"country_name\":\"Bangladesh\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"尼泊尔\",\"country_code\":\"NP\",\"country_name\":\"Nepal\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"巴勒斯坦\",\"country_code\":\"PS\",\"country_name\":\"Palestinian territories\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"巴基斯坦\",\"country_code\":\"PK\",\"country_name\":\"Pakistan\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"巴林\",\"country_code\":\"BH\",\"country_name\":\"Bahrain\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"文莱\",\"country_code\":\"BN\",\"country_name\":\"Brunei\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"斯里兰卡\",\"country_code\":\"LK\",\"country_name\":\"Sri Lanka\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"新加坡\",\"country_code\":\"SG\",\"country_name\":\"Singapore\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"日本\",\"country_code\":\"JP\",\"country_name\":\"Japan\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"朝鲜\",\"country_code\":\"KP\",\"country_name\":\"North Korea\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"柬埔寨\",\"country_code\":\"KH\",\"country_name\":\"Cambodia\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"格鲁吉亚\",\"country_code\":\"GE\",\"country_name\":\"Georgia\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"沙特阿拉伯\",\"country_code\":\"SA\",\"country_name\":\"Saudi Arabia\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"泰国\",\"country_code\":\"TH\",\"country_name\":\"Thailand\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"中国澳门\",\"country_code\":\"MO\",\"country_name\":\"Macao\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"科威特\",\"country_code\":\"KW\",\"country_name\":\"Kuwait\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"科科斯群岛\",\"country_code\":\"CC\",\"country_name\":\"Cocos (Keeling) Islands\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"约旦\",\"country_code\":\"JO\",\"country_name\":\"Jordan\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"缅甸\",\"country_code\":\"MM\",\"country_name\":\"Myanmar (Burma)\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"老挝\",\"country_code\":\"LA\",\"country_name\":\"Laos\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"菲律宾\",\"country_code\":\"PH\",\"country_name\":\"The Philippines\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"蒙古国\",\"country_code\":\"MN\",\"country_name\":\"Mongolia\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"越南\",\"country_code\":\"VN\",\"country_name\":\"Vietnam\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"阿塞拜疆\",\"country_code\":\"AZ\",\"country_name\":\"Azerbaijan\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"阿富汗\",\"country_code\":\"AF\",\"country_name\":\"Afghanistan\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"阿曼\",\"country_code\":\"OM\",\"country_name\":\"Oman\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"阿根廷\",\"country_code\":\"AR\",\"country_name\":\"Argentina\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"阿联酋\",\"country_code\":\"AE\",\"country_name\":\"United Arab Emirates\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"韩国\",\"country_code\":\"KR\",\"country_name\":\"South Korea\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"中国香港\",\"country_code\":\"HK\",\"country_name\":\"Hong Kong\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"马尔代夫\",\"country_code\":\"MV\",\"country_name\":\"Maldives\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"马来西亚\",\"country_code\":\"MY\",\"country_name\":\"Malaysia\"},{\"continent_cname\":\"亚洲\",\"continent_name\":\"AS\",\"country_cname\":\"黎巴嫩\",\"country_code\":\"LB\",\"country_name\":\"Lebanon\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"伯利兹\",\"country_code\":\"BZ\",\"country_name\":\"Belize\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"加拿大\",\"country_code\":\"CA\",\"country_name\":\"Canada\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"危地马拉\",\"country_code\":\"GT\",\"country_name\":\"Guatemala\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"古巴\",\"country_code\":\"CU\",\"country_name\":\"Cuba\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"哥斯达黎加\",\"country_code\":\"CR\",\"country_name\":\"Costa Rica\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"圣卢西亚\",\"country_code\":\"LC\",\"country_name\":\"St. Lucia\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"圣基茨和尼维斯\",\"country_code\":\"KN\",\"country_name\":\"St. Kitts & Nevis\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"圣巴泰勒米岛\",\"country_code\":\"BL\",\"country_name\":\"Saint Barthélemy\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"圣文森特和格林纳丁斯\",\"country_code\":\"VC\",\"country_name\":\"St. Vincent & the Grenadines\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"圣皮埃尔和密克隆\",\"country_code\":\"PM\",\"country_name\":\"Saint-Pierre & Miquelon\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"墨西哥\",\"country_code\":\"MX\",\"country_name\":\"Mexico\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"多米尼克\",\"country_code\":\"DM\",\"country_name\":\"Dominica\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"多米尼加\",\"country_code\":\"DO\",\"country_name\":\"Dominican Republic\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"安圭拉\",\"country_code\":\"AI\",\"country_name\":\"Anguilla\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"安提瓜和巴布达\",\"country_code\":\"AG\",\"country_name\":\"Antigua & Barbuda\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"尼加拉瓜\",\"country_code\":\"NI\",\"country_name\":\"Nicaragua\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"巴哈马\",\"country_code\":\"BS\",\"country_name\":\"The Bahamas\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"巴巴多斯\",\"country_code\":\"BB\",\"country_name\":\"Barbados\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"巴拿马\",\"country_code\":\"PA\",\"country_name\":\"Panama\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"库拉索\",\"country_code\":\"CW\",\"country_name\":\"Curacao\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"开曼群岛\",\"country_code\":\"KY\",\"country_name\":\"Cayman Islands\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"格林纳达\",\"country_code\":\"GD\",\"country_name\":\"Grenada\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"格陵兰\",\"country_code\":\"GL\",\"country_name\":\"Greenland\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"法属圣马丁\",\"country_code\":\"MF\",\"country_name\":\"Saint Martin (France)\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"波多黎各\",\"country_code\":\"PR\",\"country_name\":\"Puerto Rico\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"洪都拉斯\",\"country_code\":\"HN\",\"country_name\":\"Honduras\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"海地\",\"country_code\":\"HT\",\"country_name\":\"Haiti\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"牙买加\",\"country_code\":\"JM\",\"country_name\":\"Jamaica\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"特克斯和凯科斯群岛\",\"country_code\":\"TC\",\"country_name\":\"Turks & Caicos Islands\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"特立尼达和多巴哥\",\"country_code\":\"TT\",\"country_name\":\"Trinidad & Tobago\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"瓜德罗普\",\"country_code\":\"GP\",\"country_name\":\"Guadeloupe\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"百慕大\",\"country_code\":\"BM\",\"country_name\":\"Bermuda\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"美国\",\"country_code\":\"US\",\"country_name\":\"United States of America (USA)\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"美国本土外小岛屿\",\"country_code\":\"UM\",\"country_name\":\"United States Minor Outlying Islands\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"美属维尔京群岛\",\"country_code\":\"VI\",\"country_name\":\"United States Virgin Islands\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"英属维尔京群岛\",\"country_code\":\"VG\",\"country_name\":\"British Virgin Islands\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"荷属圣马丁\",\"country_code\":\"SX\",\"country_name\":\"Sint Maarten\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"萨尔瓦多\",\"country_code\":\"SV\",\"country_name\":\"El Salvador\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"阿鲁巴\",\"country_code\":\"AW\",\"country_name\":\"Aruba\"},{\"continent_cname\":\"北美洲\",\"continent_name\":\"NA\",\"country_cname\":\"马提尼克\",\"country_code\":\"MQ\",\"country_name\":\"Martinique\"},{\"continent_cname\":\"南极洲\",\"continent_name\":\"AN\",\"country_cname\":\"南乔治亚岛和南桑威奇群岛\",\"country_code\":\"GS\",\"country_name\":\"South Georgia & the South Sandwich Islands\"},{\"continent_cname\":\"南极洲\",\"continent_name\":\"AN\",\"country_cname\":\"南极洲\",\"country_code\":\"AQ\",\"country_name\":\"Antarctica\"},{\"continent_cname\":\"南极洲\",\"continent_name\":\"AN\",\"country_cname\":\"布韦岛\",\"country_code\":\"BV\",\"country_name\":\"Bouvet Island\"},{\"continent_cname\":\"南极洲\",\"continent_name\":\"AN\",\"country_cname\":\"法属南部领地\",\"country_code\":\"TF\",\"country_name\":\"French Southern Territories\"},{\"continent_cname\":\"南极洲\",\"continent_name\":\"AN\",\"country_cname\":\"赫德岛和麦克唐纳群岛\",\"country_code\":\"HM\",\"country_name\":\"Heard Island & McDonald Islands\"},{\"continent_cname\":\"南美洲\",\"continent_name\":\"SA\",\"country_cname\":\"乌拉圭\",\"country_code\":\"UY\",\"country_name\":\"Uruguay\"},{\"continent_cname\":\"南美洲\",\"continent_name\":\"SA\",\"country_cname\":\"厄瓜多尔\",\"country_code\":\"EC\",\"country_name\":\"Ecuador\"},{\"continent_cname\":\"南美洲\",\"continent_name\":\"SA\",\"country_cname\":\"哥伦比亚\",\"country_code\":\"CO\",\"country_name\":\"Colombia\"},{\"continent_cname\":\"南美洲\",\"continent_name\":\"SA\",\"country_cname\":\"圭亚那\",\"country_code\":\"GY\",\"country_name\":\"Guyana\"},{\"continent_cname\":\"南美洲\",\"continent_name\":\"SA\",\"country_cname\":\"委内瑞拉\",\"country_code\":\"VE\",\"country_name\":\"Venezuela\"},{\"continent_cname\":\"南美洲\",\"continent_name\":\"SA\",\"country_cname\":\"巴拉圭\",\"country_code\":\"PY\",\"country_name\":\"Paraguay\"},{\"continent_cname\":\"南美洲\",\"continent_name\":\"SA\",\"country_cname\":\"巴西\",\"country_code\":\"BR\",\"country_name\":\"Brazil\"},{\"continent_cname\":\"南美洲\",\"continent_name\":\"SA\",\"country_cname\":\"智利\",\"country_code\":\"CL\",\"country_name\":\"Chile\"},{\"continent_cname\":\"南美洲\",\"continent_name\":\"SA\",\"country_cname\":\"法属圭亚那\",\"country_code\":\"GF\",\"country_name\":\"French Guiana\"},{\"continent_cname\":\"南美洲\",\"continent_name\":\"SA\",\"country_cname\":\"玻利维亚\",\"country_code\":\"BO\",\"country_name\":\"Bolivia\"},{\"continent_cname\":\"南美洲\",\"continent_name\":\"SA\",\"country_cname\":\"秘鲁\",\"country_code\":\"PE\",\"country_name\":\"Peru\"},{\"continent_cname\":\"南美洲\",\"continent_name\":\"SA\",\"country_cname\":\"苏里南\",\"country_code\":\"SR\",\"country_name\":\"Suriname\"},{\"continent_cname\":\"南美洲\",\"continent_name\":\"SA\",\"country_cname\":\"马尔维纳斯群岛(福克兰)\",\"country_code\":\"FK\",\"country_name\":\"Falkland Islands\"},{\"continent_cname\":\"大洋洲\",\"continent_name\":\"OA\",\"country_cname\":\"关岛\",\"country_code\":\"GU\",\"country_name\":\"Guam\"},{\"continent_cname\":\"大洋洲\",\"continent_name\":\"OA\",\"country_cname\":\"北马里亚纳群岛\",\"country_code\":\"MP\",\"country_name\":\"Northern Mariana Islands\"},{\"continent_cname\":\"大洋洲\",\"continent_name\":\"OA\",\"country_cname\":\"图瓦卢\",\"country_code\":\"TV\",\"country_name\":\"Tuvalu\"},{\"continent_cname\":\"大洋洲\",\"continent_name\":\"OA\",\"country_cname\":\"基里巴斯\",\"country_code\":\"KI\",\"country_name\":\"Kiribati\"},{\"continent_cname\":\"大洋洲\",\"continent_name\":\"OA\",\"country_cname\":\"密克罗尼西亚联邦\",\"country_code\":\"FM\",\"country_name\":\"Federated States of Micronesia\"},{\"continent_cname\":\"大洋洲\",\"continent_name\":\"OA\",\"country_cname\":\"巴布亚新几内亚\",\"country_code\":\"PG\",\"country_name\":\"Papua New Guinea\"},{\"continent_cname\":\"大洋洲\",\"continent_name\":\"OA\",\"country_cname\":\"帕劳\",\"country_code\":\"PW\",\"country_name\":\"Palau\"},{\"continent_cname\":\"大洋洲\",\"continent_name\":\"OA\",\"country_cname\":\"库克群岛\",\"country_code\":\"CK\",\"country_name\":\"Cook Islands\"},{\"continent_cname\":\"大洋洲\",\"continent_name\":\"OA\",\"country_cname\":\"所罗门群岛\",\"country_code\":\"SB\",\"country_name\":\"Solomon Islands\"},{\"continent_cname\":\"大洋洲\",\"continent_name\":\"OA\",\"country_cname\":\"托克劳\",\"country_code\":\"TK\",\"country_name\":\"Tokelau\"},{\"continent_cname\":\"大洋洲\",\"continent_name\":\"OA\",\"country_cname\":\"斐济群岛\",\"country_code\":\"FJ\",\"country_name\":\"Fiji\"},{\"continent_cname\":\"大洋洲\",\"continent_name\":\"OA\",\"country_cname\":\"新喀里多尼亚\",\"country_code\":\"NC\",\"country_name\":\"New Caledonia\"},{\"continent_cname\":\"大洋洲\",\"continent_name\":\"OA\",\"country_cname\":\"新西兰\",\"country_code\":\"NZ\",\"country_name\":\"New Zealand\"},{\"continent_cname\":\"大洋洲\",\"continent_name\":\"OA\",\"country_cname\":\"汤加\",\"country_code\":\"TO\",\"country_name\":\"Tonga\"},{\"continent_cname\":\"大洋洲\",\"continent_name\":\"OA\",\"country_cname\":\"法属波利尼西亚\",\"country_code\":\"PF\",\"country_name\":\"French polynesia\"},{\"continent_cname\":\"大洋洲\",\"continent_name\":\"OA\",\"country_cname\":\"澳大利亚\",\"country_code\":\"AU\",\"country_name\":\"Australia\"},{\"continent_cname\":\"大洋洲\",\"continent_name\":\"OA\",\"country_cname\":\"瑙鲁\",\"country_code\":\"NR\",\"country_name\":\"Nauru\"},{\"continent_cname\":\"大洋洲\",\"continent_name\":\"OA\",\"country_cname\":\"瓦利斯和富图纳\",\"country_code\":\"WF\",\"country_name\":\"Wallis & Futuna\"},{\"continent_cname\":\"大洋洲\",\"continent_name\":\"OA\",\"country_cname\":\"瓦努阿图\",\"country_code\":\"VU\",\"country_name\":\"Vanuatu\"},{\"continent_cname\":\"大洋洲\",\"continent_name\":\"OA\",\"country_cname\":\"皮特凯恩群岛\",\"country_code\":\"PN\",\"country_name\":\"Pitcairn Islands\"},{\"continent_cname\":\"大洋洲\",\"continent_name\":\"OA\",\"country_cname\":\"纽埃\",\"country_code\":\"NU\",\"country_name\":\"Niue\"},{\"continent_cname\":\"大洋洲\",\"continent_name\":\"OA\",\"country_cname\":\"美属萨摩亚\",\"country_code\":\"AS\",\"country_name\":\"American Samoa\"},{\"continent_cname\":\"大洋洲\",\"continent_name\":\"OA\",\"country_cname\":\"萨摩亚\",\"country_code\":\"WS\",\"country_name\":\"Samoa\"},{\"continent_cname\":\"大洋洲\",\"continent_name\":\"OA\",\"country_cname\":\"诺福克岛\",\"country_code\":\"NF\",\"country_name\":\"Norfolk Island\"},{\"continent_cname\":\"大洋洲\",\"continent_name\":\"OA\",\"country_cname\":\"马绍尔群岛\",\"country_code\":\"MH\",\"country_name\":\"Marshall islands\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"丹麦\",\"country_code\":\"DK\",\"country_name\":\"Denmark\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"乌克兰\",\"country_code\":\"UA\",\"country_name\":\"Ukraine\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"俄罗斯\",\"country_code\":\"RU\",\"country_name\":\"Russian Federation\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"保加利亚\",\"country_code\":\"BG\",\"country_name\":\"Bulgaria\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"克罗地亚\",\"country_code\":\"HR\",\"country_name\":\"Croatia\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"冰岛\",\"country_code\":\"IS\",\"country_name\":\"Iceland\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"列支敦士登\",\"country_code\":\"LI\",\"country_name\":\"Liechtenstein\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"匈牙利\",\"country_code\":\"HU\",\"country_name\":\"Hungary\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"卢森堡\",\"country_code\":\"LU\",\"country_name\":\"Luxembourg\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"圣马力诺\",\"country_code\":\"SM\",\"country_name\":\"San Marino\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"塞尔维亚\",\"country_code\":\"RS\",\"country_name\":\"Serbia\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"奥兰群岛\",\"country_code\":\"AX\",\"country_name\":\"Aland Island\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"奥地利\",\"country_code\":\"AT\",\"country_name\":\"Austria\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"安道尔\",\"country_code\":\"AD\",\"country_name\":\"Andorra\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"希腊\",\"country_code\":\"GR\",\"country_name\":\"Greece\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"德国\",\"country_code\":\"DE\",\"country_name\":\"Germany\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"意大利\",\"country_code\":\"IT\",\"country_name\":\"Italy\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"拉脱维亚\",\"country_code\":\"LV\",\"country_name\":\"Latvia\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"挪威\",\"country_code\":\"NO\",\"country_name\":\"Norway\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"捷克\",\"country_code\":\"CZ\",\"country_name\":\"Czech Republic\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"摩尔多瓦\",\"country_code\":\"MD\",\"country_name\":\"Moldova\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"摩纳哥\",\"country_code\":\"MC\",\"country_name\":\"Monaco\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"斯洛伐克\",\"country_code\":\"SK\",\"country_name\":\"Slovakia\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"斯洛文尼亚\",\"country_code\":\"SI\",\"country_name\":\"Slovenia\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"根西岛\",\"country_code\":\"GG\",\"country_name\":\"Guernsey\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"梵蒂冈\",\"country_code\":\"VA\",\"country_name\":\"Vatican City (The Holy See)\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"比利时\",\"country_code\":\"BE\",\"country_name\":\"Belgium\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"法国\",\"country_code\":\"FR\",\"country_name\":\"France\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"法罗群岛\",\"country_code\":\"FO\",\"country_name\":\"Faroe Islands\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"波兰\",\"country_code\":\"PL\",\"country_name\":\"Poland\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"波黑\",\"country_code\":\"BA\",\"country_name\":\"Bosnia & Herzegovina\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"泽西岛\",\"country_code\":\"JE\",\"country_name\":\"Jersey\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"爱尔兰\",\"country_code\":\"IE\",\"country_name\":\"Ireland\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"爱沙尼亚\",\"country_code\":\"EE\",\"country_name\":\"Estonia\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"瑞典\",\"country_code\":\"SE\",\"country_name\":\"Sweden\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"瑞士\",\"country_code\":\"CH\",\"country_name\":\"Switzerland\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"白俄罗斯\",\"country_code\":\"BY\",\"country_name\":\"Belarus\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"直布罗陀\",\"country_code\":\"GI\",\"country_name\":\"Gibraltar\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"立陶宛\",\"country_code\":\"LT\",\"country_name\":\"Lithuania\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"罗马尼亚\",\"country_code\":\"RO\",\"country_name\":\"Romania\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"芬兰\",\"country_code\":\"FI\",\"country_name\":\"Finland\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"英国\",\"country_code\":\"GB\",\"country_name\":\"Great Britain (United Kingdom / England)\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"荷兰\",\"country_code\":\"NL\",\"country_name\":\"Netherlands\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"葡萄牙\",\"country_code\":\"PT\",\"country_name\":\"Portugal\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"西班牙\",\"country_code\":\"ES\",\"country_name\":\"Spain\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"阿尔巴尼亚\",\"country_code\":\"AL\",\"country_name\":\"Albania\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"马其顿\",\"country_code\":\"MK\",\"country_name\":\"Republic of Macedonia (FYROM)\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"马恩岛\",\"country_code\":\"IM\",\"country_name\":\"Isle of Man\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"马耳他\",\"country_code\":\"MT\",\"country_name\":\"Malta\"},{\"continent_cname\":\"欧洲\",\"continent_name\":\"EU\",\"country_cname\":\"黑山\",\"country_code\":\"ME\",\"country_name\":\"Montenegro\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"中非\",\"country_code\":\"CF\",\"country_name\":\"Central African Republic\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"乌干达\",\"country_code\":\"UG\",\"country_name\":\"Uganda\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"乍得\",\"country_code\":\"TD\",\"country_name\":\"Chad\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"佛得角\",\"country_code\":\"CV\",\"country_name\":\"Cape Verde\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"冈比亚\",\"country_code\":\"GM\",\"country_name\":\"Gambia\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"几内亚\",\"country_code\":\"GN\",\"country_name\":\"Guinea\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"几内亚比绍\",\"country_code\":\"GW\",\"country_name\":\"Guinea-Bissau\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"刚果(布)\",\"country_code\":\"CG\",\"country_name\":\"Republic of the Congo\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"刚果(金)\",\"country_code\":\"CD\",\"country_name\":\"Democratic Republic of the Congo\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"利比亚\",\"country_code\":\"LY\",\"country_name\":\"Libya\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"利比里亚\",\"country_code\":\"LR\",\"country_name\":\"Liberia\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"加纳\",\"country_code\":\"GH\",\"country_name\":\"Ghana\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"加蓬\",\"country_code\":\"GA\",\"country_name\":\"Gabon\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"南苏丹\",\"country_code\":\"SS\",\"country_name\":\"South Sudan\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"南非\",\"country_code\":\"ZA\",\"country_name\":\"South Africa\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"博茨瓦纳\",\"country_code\":\"BW\",\"country_name\":\"Botswana\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"卢旺达\",\"country_code\":\"RW\",\"country_name\":\"Rwanda\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"厄立特里亚\",\"country_code\":\"ER\",\"country_name\":\"Eritrea\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"吉布提\",\"country_code\":\"DJ\",\"country_name\":\"Djibouti\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"喀麦隆\",\"country_code\":\"CM\",\"country_name\":\"Cameroon\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"圣多美和普林西比\",\"country_code\":\"ST\",\"country_name\":\"Sao Tome & Principe\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"圣赫勒拿\",\"country_code\":\"SH\",\"country_name\":\"St. Helena & Dependencies\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"坦桑尼亚\",\"country_code\":\"TZ\",\"country_name\":\"Tanzania\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"埃及\",\"country_code\":\"EG\",\"country_name\":\"Egypt\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"埃塞俄比亚\",\"country_code\":\"ET\",\"country_name\":\"Ethiopia\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"塞内加尔\",\"country_code\":\"SN\",\"country_name\":\"Senegal\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"塞拉利昂\",\"country_code\":\"SL\",\"country_name\":\"Sierra Leone\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"塞舌尔\",\"country_code\":\"SC\",\"country_name\":\"Seychelles\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"多哥\",\"country_code\":\"TG\",\"country_name\":\"Togo\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"安哥拉\",\"country_code\":\"AO\",\"country_name\":\"Angola\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"尼日利亚\",\"country_code\":\"NG\",\"country_name\":\"Nigeria\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"尼日尔\",\"country_code\":\"NE\",\"country_name\":\"Niger\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"布基纳法索\",\"country_code\":\"BF\",\"country_name\":\"Burkina\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"布隆迪\",\"country_code\":\"BI\",\"country_name\":\"Burundi\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"摩洛哥\",\"country_code\":\"MA\",\"country_name\":\"Morocco\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"斯威士兰\",\"country_code\":\"SZ\",\"country_name\":\"Swaziland\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"毛里塔尼亚\",\"country_code\":\"MR\",\"country_name\":\"Mauritania\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"毛里求斯\",\"country_code\":\"MU\",\"country_name\":\"Mauritius\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"津巴布韦\",\"country_code\":\"ZW\",\"country_name\":\"Zimbabwe\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"留尼汪\",\"country_code\":\"RE\",\"country_name\":\"Réunion\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"科摩罗\",\"country_code\":\"KM\",\"country_name\":\"The Comoros\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"科特迪瓦\",\"country_code\":\"CI\",\"country_name\":\"Cote d'Ivoire\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"突尼斯\",\"country_code\":\"TN\",\"country_name\":\"Tunisia\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"索马里\",\"country_code\":\"SO\",\"country_name\":\"Somalia\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"纳米比亚\",\"country_code\":\"NA\",\"country_name\":\"Namibia\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"肯尼亚\",\"country_code\":\"KE\",\"country_name\":\"Kenya\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"苏丹\",\"country_code\":\"SD\",\"country_name\":\"Sudan\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"英属印度洋领地\",\"country_code\":\"IO\",\"country_name\":\"British Indian Ocean Territory\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"莫桑比克\",\"country_code\":\"MZ\",\"country_name\":\"Mozambique\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"莱索托\",\"country_code\":\"LS\",\"country_name\":\"Lesotho\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"贝宁\",\"country_code\":\"BJ\",\"country_name\":\"Benin\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"赞比亚\",\"country_code\":\"ZM\",\"country_name\":\"Zambia\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"赤道几内亚\",\"country_code\":\"GQ\",\"country_name\":\"Equatorial Guinea\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"阿尔及利亚\",\"country_code\":\"DZ\",\"country_name\":\"Algeria\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"马拉维\",\"country_code\":\"MW\",\"country_name\":\"Malawi\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"马约特\",\"country_code\":\"YT\",\"country_name\":\"Mayotte\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"马达加斯加\",\"country_code\":\"MG\",\"country_name\":\"Madagascar\"},{\"continent_cname\":\"非洲\",\"continent_name\":\"AF\",\"country_cname\":\"马里\",\"country_code\":\"ML\",\"country_name\":\"Mali\"}]";
        JSONArray arr = JSONArray.parseArray(str);

        Map<String, String> keys = new HashMap<>();

        Map<String, JSONArray> map = new HashMap<>();
        for (int i = 0; i < arr.size(); i++) {
            JSONObject obj = arr.getJSONObject(i);
            String key = obj.getString("continent_cname");
            String value = obj.getString("continent_name");

            obj.put("label", obj.getString("country_cname"));
            obj.put("value", obj.getString("country_code"));
            obj.remove("country_cname");
            obj.remove("country_code");

            keys.put(key, value);

            if(map.containsKey(key)) {
                map.get(key).add(obj);
            } else {
                JSONArray newArr = new JSONArray();
                newArr.add(obj);
                map.put(key, newArr);
            }
        }

        JSONArray result = new JSONArray();
        map.forEach((key, value) -> {
            JSONObject json = new JSONObject();
            json.put("label", key);
            json.put("value", keys.get(key));
            json.put("children",value);
            result.add(json);
        });

        System.out.println(result.toJSONString());
    }
}


